//
// Created by Toosan on 2022/4/17.
//

#include "stdio.h"
#include "string.h"
#include "stdlib.h"

struct Cat {
    char *name;
    int age;
};

/**
 * 系统源码和C库源码 结构体都会再声明一遍 typedef struct xxx（一样的名字） 别名
 * 为了做兼容
 */
typedef struct Cat Cat;  // 定义别名  Cat  ==  struct Cat  保证代码的一致性

typedef struct Cat *Cat_P;

/**
 * 一步到位，简写法，结构体定义和别名都声明好了
 */
typedef struct {

} Bird;
struct Mouse {

};

void showMouse(struct Mouse mouse) {}

void showBird(Bird bird) {}

/**
 * 枚举类 与  结构体一样  也需要进行别名定义
 * 枚举 也是int类型
 */
//enum CommentType{
//    START = 0,
//    END = 1
//} ;
typedef enum {
    START = 0,
    END = 1
} CommentType;


int main_day05_2() {
    Cat_P cat = malloc(sizeof(Cat));
    Cat cat1 = {};
    Bird bird = {};
//    enum CommentType commentType = START;
    CommentType commentType = END;
    printf("commentType = %d \n" ,commentType);
    return 0;
}